#!/bin/bash

# 人脸检测系统单元测试运行脚本
# 作者: fsserver
# 日期: 2024-01-01

echo "=========================================="
echo "人脸检测系统单元测试开始"
echo "=========================================="

# 设置环境变量
export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=256m"

# 清理之前的构建
echo "清理之前的构建..."
mvn clean

# 编译项目
echo "编译项目..."
mvn compile test-compile

# 运行单元测试
echo "运行单元测试..."
mvn test

# 检查测试结果
if [ $? -eq 0 ]; then
    echo "=========================================="
    echo "所有单元测试通过！"
    echo "=========================================="
    
    # 生成测试报告
    echo "生成测试报告..."
    mvn surefire-report:report
    
    # 生成代码覆盖率报告
    echo "生成代码覆盖率报告..."
    mvn jacoco:report
    
    echo "测试报告生成完成："
    echo "- 单元测试报告: target/site/surefire-report.html"
    echo "- 代码覆盖率报告: target/site/jacoco/index.html"
    
else
    echo "=========================================="
    echo "单元测试失败！请检查测试结果。"
    echo "=========================================="
    exit 1
fi

# 运行集成测试
echo "运行集成测试..."
mvn verify -Dskip.unit.tests=true

if [ $? -eq 0 ]; then
    echo "=========================================="
    echo "所有集成测试通过！"
    echo "=========================================="
else
    echo "=========================================="
    echo "集成测试失败！请检查测试结果。"
    echo "=========================================="
    exit 1
fi

echo "=========================================="
echo "所有测试完成！"
echo "==========================================" 